<?php

/*
 * Copyright (c) 2011 Joao Paulo Cirino Silva de Novais <joaopaulonovais@gmail.com>
 */

class EscolaView extends View {

	private $mensagem;
    private $tipoPerfil;
    private $escolaPerfil;

    function __construct($tela) {

        $this->modelo = new HTML_Template_IT();
        if ($tela == "Cadastro") {
            $this->modelo->loadTemplateFile("modelo/cadastrarEscola.html");
        } elseif ($tela == "Visualizacao") {
        	$this->modelo->loadTemplateFile("modelo/visualizarEscola.html");
        } elseif ($tela == "Aprovacao") {
        	$this->modelo->loadTemplateFile("modelo/aprovarEscola.html");
        } else {
        	$this->modelo->loadTemplateFile("modelo/consultarEscola.html");
        }
    }
    //Recebe as mensagens a serem enviadas para a tela
    public function setMensagem($mensagem) {

        $this->mensagem = $mensagem;
    }
    //Recebe os tipos de perfis consultados do banco
    public function setTipoPerfil($tipoPerfil) {

        $this->tipoPerfil = $tipoPerfil;
    }
    //Mantem os dados do pai na tela
    public function setEscola(Model $escola) {
    	
    	$this->modelo->setVariable("cod_escola"      , $escola->get("cod_escola"));
        $this->modelo->setVariable("nom_escola"      , $escola->get("nom_escola"));
        $this->modelo->setVariable("nom_razao_social", $escola->get("nom_razao_social"));
        $this->modelo->setVariable("num_cnpj"        , $escola->get("num_cnpj"));
        $this->modelo->setVariable("des_endereco"    , $escola->get("des_endereco"));
        $this->modelo->setVariable("des_cidade"      , $escola->get("des_cidade"));
        $this->modelo->setVariable("des_bairro"      , $escola->get("des_bairro"));
        $this->modelo->setVariable("sig_uf"          , $escola->get("sig_uf"));
        $this->modelo->setVariable("cep_escola"      , $escola->get("cep_escola"));
        $this->modelo->setVariable("num_telefone"    , $escola->get("num_telefone"));
        $this->modelo->setVariable("des_email"       , $escola->get("des_email"));
        $this->modelo->setVariable("des_site"        , $escola->get("des_site"));
        $this->modelo->setVariable("med_logo"        , stripslashes($escola->get("med_logo")));
        $this->modelo->setVariable("tip_logo"        , $escola->get("tip_logo"));
        $this->modelo->setVariable("txt_observacao"  , $escola->get("txt_observacao"));
    }
    //Lista os tipos de perfis existentes
    public function listarPerfil () {
    	
        $this->modelo->setCurrentBlock("Tipo_Perfil");
        	
        foreach ($this->tipoPerfil as $registro) {

            $this->modelo->setVariable("cod_tipo_perfil"  , $registro->get("cod_tipo_perfil"));
            $this->modelo->setVariable("des_tipo_perfil"  , $registro->get("des_tipo_perfil"));
            $this->modelo->parseCurrentBlock();
        }
    }
    //Lista os perfis cadastrados para uma escola
    public function listarPerfilEscola ($perfis) {
    	
        $this->modelo->setVariable("qtd_perfis", count($perfis));
        $this->modelo->setCurrentBlock("Escola_Perfil");
    	if ($perfis) {
        	
            foreach ($perfis as $registro) {

                $this->modelo->setVariable("cod_escola_perfil", $registro->get("cod_escola"));
                $this->modelo->setVariable("cod_tipo_perfil"  , $registro->get("cod_tipo_perfil"));
                $this->modelo->setVariable("des_tipo_perfil"  , $registro->get("des_tipo_perfil"));
                $this->modelo->parseCurrentBlock();
            }
        } else {
            
            $this->modelo->setVariable("cod_escola_perfil" , "");
            $this->modelo->setVariable("cod_tipo_perfil"   , "");
            $this->modelo->setVariable("des_tipo_perfil"   , "");
            $this->modelo->parseCurrentBlock();
        }
        //$this->modelo->show();
    }
    //Apresenta o cadastro de escolas
    public function editar(Model $escola) {

 		$this->listarPerfil();
        
        if ($this->mensagem) {
            $this->modelo->setVariable("mensagem", $this->mensagem);
        } else {
            $this->modelo->setVariable("mensagem", "");
        }
        $this->modelo->setCurrentBlock("Formulario");
        $this->setEscola($escola);
        $this->modelo->parseCurrentBlock();
        $this->modelo->show();
    }
    //Apresenta a consulta de escolas    
    public function consultar($escolas) {
    	
    	$this->listarPerfil(null);
    	
        if ($this->mensagem) {
            $this->modelo->setVariable("mensagem", $this->mensagem);
        } else {
            $this->modelo->setVariable("mensagem", "");
        }
        
        $i = 0;
        if ($escolas) {

            $this->modelo->setCurrentBlock("Escola");

            foreach ($escolas as $escola) {

                $this->modelo->setVariable("cod_escola"      , $escola->get("cod_escola"));
                $this->modelo->setVariable("nom_escola"      , $escola->get("nom_escola"));
                $this->modelo->setVariable("nom_razao_social", $escola->get("nom_razao_social"));
                $this->modelo->setVariable("num_cnpj"        , $escola->get("num_cnpj"));
                $i++;
                $this->modelo->parseCurrentBlock();
            }
            $this->modelo->setVariable("qtd_registros", $i);
        } else {

            $this->modelo->setVariable("cod_escola"      , "");
            $this->modelo->setVariable("nom_escola"      , "");
            $this->modelo->setVariable("nom_razao_social", "");
            $this->modelo->setVariable("num_cnpj"        , "");
            $this->modelo->setVariable("qtd_registros"   , $i);
            $this->modelo->parseCurrentBlock();
        }
        $this->modelo->show();
    }
    
    public function visualizar($escola, $perfis) {

        if ($escola) {
        	
            //Recolocamos os dados do pai na tela
	        $this->modelo->setCurrentBlock("Formulario");
            $this->setEscola($escola);
            $this->listarPerfilEscola($perfis);
                
        } else {
            $this->modelo->setVariable("mensagem", "Ops!Não foi possível apresentar as informações da escola. Tente mais tarde. :-(");
        }
       
        header("Content-type:".$escola->get("tip_logo"));
        $this->modelo->parseCurrentBlock();
        $this->modelo->show();
    }
    
    public function aprovar($escolas) {

    	$this->listarPerfil(null);
    	
        if ($this->mensagem) {
            $this->modelo->setVariable("mensagem", $this->mensagem);
        } else {
            $this->modelo->setVariable("mensagem", "");
        }
        
        if ($escolas) {

            $this->modelo->setCurrentBlock("Escola");
            $i = 0;

            foreach ($escolas as $escola) {

                $this->modelo->setVariable("cod_escola"      , $escola->get("cod_escola"));
                $this->modelo->setVariable("nom_escola"      , $escola->get("nom_escola"));
                $this->modelo->setVariable("nom_razao_social", $escola->get("nom_razao_social"));
                $this->modelo->setVariable("num_cnpj"        , $escola->get("num_cnpj"));
                $i++;
                $this->modelo->parseCurrentBlock();
            }
            $this->modelo->setVariable("qtd_registros", $i);
        } else {

            $this->modelo->setVariable("cod_escola"      , "");
            $this->modelo->setVariable("nom_escola"      , "");
            $this->modelo->setVariable("nom_razao_social", "");
            $this->modelo->setVariable("num_cnpj"        , "");
            $this->modelo->setVariable("qtd_registros"   , $i);
            $this->modelo->parseCurrentBlock();
        }
        $this->modelo->show();
    }
}

?>